package com.qaml.mes.device.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName TaskQuartzJob
 * @Description 定时任务记录
 * @Author leikai
 * @Date 2023/10/20 11:50
 * @Version 1.0
 */
@ApiModel(value="task_quartz_job对象", description="定时任务记录")
@Data
@TableName(value = "task_quartz_job")
public class TaskQuartzJob implements Serializable {
    private static final long serialVersionUID = -1510534812365218298L;

    /**
     * id
     */
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 创建人
     */
    @TableField(value = "create_by")
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建人名称
     */
    @TableField("create_user_name")
    private String createUserName;

    /**
     * 更新人名称
     */
    @TableField("update_user_name")
    private String updateUserName;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 删除状态  0 -正常   1- 删除
     */
    @TableField(value = "del_flag")
    @ApiModelProperty(value = "删除标识：0-正常  1-删除")
    private Integer delFlag;

    /**
     * 修改人
     */
    @TableField(value = "update_by")
    @ApiModelProperty(value = "修改人")
    private String updateBy;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 任务类名
     */
    @TableField(value = "job_class_name")
    @ApiModelProperty(value = "任务类名")
    private String jobClassName;

    /**
     * 生产计划id
     */
    @TableField(value = "plan_id")
    @ApiModelProperty(value = "生产计划")
    private String planId;
    /**
     * 生产计划类型
     */
    @TableField(value = "plan_type")
    @ApiModelProperty(value = "生产计划类型")
    private String planType;

    /**
     * cron表达式
     */
    @TableField(value = "cron_expression")
    @ApiModelProperty(value = "cron表达式")
    private String cronExpression;

    /**
     * 参数
     */
    @ApiModelProperty(value = "任务参数")
    private String parameter;


    /**
     *   下一次定时任务加载时间
     */
    @TableField(value = "next_load_time")
    @ApiModelProperty(value = "此任务下次加载时间")
    private Date nextLoadTime;


    /**
     * 描述
     */
    @ApiModelProperty(value = "任务描述")
    private String description;

    /**
     * 状态 0正常 -1停止
     */
    @ApiModelProperty(value = "计划状态:0-正常，-1-停止")
    private Integer status;
}